/***************************************************************************** 
** include/asm/arch/imapx.h
** 
** Copyright (c) 2009~2014 ShangHai Infotm Ltd all rights reserved. 
** 
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
** 
** Description: Configuration file for iMAPx200.
**
** Author:
**     Warits   <warits.wang@infotm.com>
**      
** Revision History: 
** ----------------- 
** 1.1  XXX 12/25/2009 XXX	Warits
*****************************************************************************/

#ifndef __CONFIG_H
#define __CONFIG_H
/*********************here we determin system disk type***************************/
#if defined(CONFIG_SYS_DISK_iNAND)||defined(CONFIG_SYS_DISK_SD)
#define CONFIG_SYS_DISK_MMC
#ifndef SYS_DISK_CHANNEL
#define SYS_DISK_CHANNEL 1
#endif

#endif

#if defined(CONFIG_SYS_DISK_MMC)||defined(CONFIG_SYS_DISK_USB)
#define CONFIG_SYS_DISK_BLOCK
#else
#define CONFIG_SYS_DISK_NAND
#define CONFIG_BOOT_NAND
#endif

#ifndef SOURCE_CHANNEL
#define SOURCE_CHANNEL 0
#endif

/* XXX For easy to developing XXX */
#undef CONFIG_CODE_DEBUG
#undef CONFIG_IMAPX200_FPGATEST	/* To get all 40MHz CLKs */

#ifdef CONFIG_CODE_DEBUG
#undef CONFIG_SKIP_LOWLEVEL_INIT	/* To skip lowlevel_init and boot in RAM */
#undef CONFIG_SKIP_RELOCATE_UBOOT	/* To skip relocate u-boot */
#ifdef CONFIG_NAND_SPL
#define imap_dbg(args...)
#else
#define imap_dbg(args...) do {	\
	printf(args);	\
}\
	while(0)
#endif
#else
#undef CONFIG_SKIP_LOWLEVEL_INIT
#undef CONFIG_SKIP_RELOCATE_UBOOT	/* To skip relocate u-boot */
#define imap_dbg(args...)
#endif


/*
 * If HAVE_PRELOADER lowlevel_init will not be compiled when compiling
 * ram part u-boot. a preloader may refer to a NAND_SPL or ONENAND_SPL
 * If boot from NOR this should be undefined.
 */
#define CONFIG_HAVE_PRELOADER
#define CONFIG_IMAPX200		1	/* CPU is iMAPx200 */

#define CONFIG_PRODUCT_WINCE_FB0		(0x40000000)
#define CONFIG_PRODUCT_WINCE_IMAGE_NAME	"zNK.img"
#define CONFIG_PRODUCT_LINUX_IMAGE_NAME	"uImage"
#define CONFIG_PRODUCT_ANDROID_SYSIMG_NAME	"zSYS.img"
#define CONFIG_PRODUCT_LINUX_RVFLAG		(0xad000001)
#define CONFIG_PRODUCT_LINUX_RV3FLAG    (0x55497557)
#define CONFIG_IDENT_STRING				"Shanghai InfoTM Microelectronics Co., Ltd."
#define CONFIG_SYS_PROMPT				"[4. LookingForGroup]: "	/* Monitor Command Prompt */
/* +-------------------------------+ */
/* | iMAPx200 Memory configuration | */
/* +----------------------------------------------------------+ */
/* | You must define and must define the memory type here !   | */
/* +----------------------------------------------------------+ */
#define CONFIG_SYS_SDRAM_BASE	0x40000000
#define CONFIG_NR_DRAM_BANKS 1
#define PHYS_SDRAM_1			CONFIG_SYS_SDRAM_BASE

#ifndef CONFIG_SYS_SDRAM
#define CONFIG_SYS_SDRAM 256
#endif

#ifdef  CONFIG_TEST_VERSION
#ifdef CONFIG_SYS_SDRAM_END
#undef  CONFIG_SYS_SDRAM_END
#endif
#define CONFIG_SYS_SDRAM_END   0x48000000
#else
#ifndef CONFIG_SYS_SDRAM_END
#define CONFIG_SYS_SDRAM_END    (CONFIG_SYS_SDRAM_BASE+(CONFIG_SYS_SDRAM<<20))             /* 256 MB total */
#endif
#endif
/* | iMAPx200 Memory Map | */
/* +----------------------------------------------------------+ */
/* | Here defines the layout of memory when u-boot is running | */
/* |                                                          | */
/* | The last 16MB mem is reserved for u-boot:                | */
/* | <----10M----> | <----2M---->|<----3M----> | <----1M----> | */
/* |     resv      |    malloc   | u-boot code |      env     | */
/* +----------------------------------------------------------+ */
#define CONFIG_RESV_START			(CONFIG_SYS_SDRAM_END - 0x1000000)
#define CONFIG_SYS_PHY_UBOOT_BASE	(CONFIG_RESV_START + 0xc00000 - 0x40) /* -4MB */
#define CONFIG_NAND_ENV_DST			(CONFIG_RESV_START + 0xf00000) /* -1MB */

#define CONFIG_RESV_PG_TB			(0x3fffc000)				/* 16K */
#define CONFIG_RESV_GMAC_BASE		(CONFIG_RESV_START + 0x0)      /* 0~1M */
#define CONFIG_RESV_LCD_BASE		(CONFIG_RESV_START + 0x200000) /* 2~3M */
#define CONFIG_RESV_LCD_BASE_1		(CONFIG_RESV_START + 0x400000) /* 4~5M */
#define CONFIG_RESV_LOGO			(CONFIG_RESV_START + 0x600000) /* 8~9M */
#define CONFIG_RESV_SCRIPT			(CONFIG_RESV_START + 0x800000) /* 10 M */
#define CONFIG_RESV_PTBUFFER		(CONFIG_RESV_START + 0x8a0000) /* 10 M */


#define CONFIG_SYS_PHY_NK_BASE		(CONFIG_SYS_SDRAM_BASE + 0x200000 - 0x40)
#define CONFIG_SYS_PHY_NK_SWAP		(CONFIG_SYS_SDRAM_BASE + 0x6200000)
#if (CONFIG_SYS_SDRAM==512)
#define CONFIG_SYS_PHY_AS_SWAP      (CONFIG_SYS_SDRAM_BASE + 0xC010000)
#else
#define CONFIG_SYS_PHY_AS_SWAP		(CONFIG_SYS_SDRAM_BASE + 0x6008000)
#endif
#define CONFIG_SYS_PHY_UBOOT_SWAP	(CONFIG_SYS_SDRAM_BASE + 0x8000)
#define CONFIG_RESV_LOCTABLE		CONFIG_SYS_PHY_NK_SWAP
#define CONFIG_SYS_PHY_LK_BASE		(CONFIG_SYS_SDRAM_BASE + 0x8000 - 0x40)
#define CONFIG_SYS_PHY_RD_BASE		(CONFIG_SYS_SDRAM_BASE + 0x1000000 - 0x40)
#define CONFIG_SYS_PHY_BOOT_STAT	(CONFIG_SYS_SDRAM_BASE + 0x4)

#define CONFIG_SYS_PHY_BOOTLG_BASE      0x40008000
#define CONFIG_SYS_PHY_KERNLG_BASE      0x4A000000

/* Env configuration: */
/* Boot options */

/* Allow to overwrite serial and ethaddr */
#define CONFIG_ENV_SIZE		0x4000	/* Total Size of Environment Sector */
#define CONFIG_ENV_OVERWRITE
 
#ifndef CONFIG_ENV_IS_IN_SYS_DISK
#undef ENV_IS_EMBEDDED       // Add By Tye
#endif
//#define CONFIG_ENV_IS_IN_NAND //comment out By Tye
/* Size of malloc() pool */
#define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 1024 * 1024)
#define CONFIG_SYS_GBL_DATA_SIZE	128	/* size in bytes for initial data */
#define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x7fc0)	/* default load address	*/

/* Console configuration */
#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1
#define CONFIG_SYS_HUSH_PARSER			/* use "hush" command parser	*/
#ifdef CONFIG_SYS_HUSH_PARSER
#define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
#endif

/* U-boot features */
#define CONFIG_CMDLINE_EDITING
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_CMDLINE_TAG
#define CONFIG_INITRD_TAG
#define CONFIG_DISPLAY_CPUINFO
#undef CONFIG_DISPLAY_BOARDINFO
#define CONFIG_ZERO_BOOTDELAY_CHECK
#define CONFIG_SYS_64BIT_VSPRINTF		/* needed for nand_util.c */
#define CONFIG_SYS_LONGHELP				/* undef to save memory	      */
#define CONFIG_SYS_CBSIZE		256		/* Console I/O Buffer Size    */
#define CONFIG_SYS_PBSIZE		384		/* Print Buffer Size          */
#define CONFIG_SYS_MAXARGS		16		/* max number of command args */
#define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size  */
#define CONFIG_SYS_HZ			100000
#define CONFIG_DOS_PARTITION	1
#define CONFIG_SUPPORT_VFAT
#define CONFIG_SYS_NO_FLASH
#define CONFIG_OEM_FEATURES				/* This will compile OEM features like Sys recovery and LOGO */
#undef CONFIG_OEM_MULTI_OS				/* OEM OS switch functions */

/* Board specific */
#define MACH_TYPE				0x08f8				/* 2296 in dec */
#define CONFIG_BOOTSTAT_U0		0xffff
#define CONFIG_BOOTSTAT_U1		0x0001
#define CONFIG_BOOTSTAT_U2		0x0002
#define CONFIG_BOOTSTAT_USB		0x000b
#define CONFIG_OEM_UPDATE_PASSWORD "infotm"
#define CONFIG_SYS_PHY_NK_MAXLEN 0x6000000			/* Maximum 96M */
#define CONFIG_SYS_PHY_AS_MAXLEN 0xe000000			/* Maximum 224M */

/* Default envrionments */
#define CONFIG_BOOTDELAY		1


/* Clock configuration: */
#define CONFIG_SYS_CLK_FREQ	12000000			/* input clock of PLL: SMDK6400 has 12MHz input clock, what about IMAP? XXX */


/**********************************
 Support Clock Settings
 **********************************
 Setting	SYNC	ASYNC
 ----------------------------------
 600_200	 O	  
 800_200	 	  O
 800_266	 O	  
 1056_266	 	  O
 **********************************/
#if	defined(CONFIG_CLK_800_266)
#	define CONFIG_SYS_IMAPX200_APLL		(0x80000041)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x000166c2)
#	define CONFIG_SYS_CPUSYNC		(0x2)		/* sync */
#elif	defined(CONFIG_CLK_1008_252)
#	define CONFIG_SYS_IMAPX200_APLL		(0x80000029)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x00014481)
#	define CONFIG_SYS_CPUSYNC		(0x0)		/* sync */
#elif	defined(CONFIG_CLK_804_268)
#	define CONFIG_SYS_IMAPX200_APLL		(0x80000042)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x000166c2)
#	define CONFIG_SYS_CPUSYNC		(0x2)		/* sync */
#elif	defined(CONFIG_CLK_1056_266)
#	define CONFIG_SYS_IMAPX200_APLL		(0x8000002b)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x00014481)
#	define CONFIG_SYS_CPUSYNC		(0x0)		/* sync */
#elif	defined(CONFIG_CLK_1104_276)
#	define CONFIG_SYS_IMAPX200_APLL		(0x8000002d)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x00014481)
#	define CONFIG_SYS_CPUSYNC		(0x0)		/* sync */
#elif	defined(CONFIG_CLK_828_276)
#	define CONFIG_SYS_IMAPX200_APLL		(0x80000044)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x000166c2)
#	define CONFIG_SYS_CPUSYNC		(0x0)		/* sync */
#elif	defined(CONFIG_CLK_564_282)
#	define CONFIG_SYS_IMAPX200_APLL		(0x8000002e)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x00014482)
#	define CONFIG_SYS_CPUSYNC		(0x0)		/* sync */
#elif	defined(CONFIG_CLK_576_288)
#	define CONFIG_SYS_IMAPX200_APLL		(0x8000002f)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x00014482)
#	define CONFIG_SYS_CPUSYNC		(0x0)		/* sync */
#elif	defined(CONFIG_CLK_1080_266)
#	define CONFIG_SYS_IMAPX200_APLL		(0x8000002c)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x00014481)
#	define CONFIG_SYS_CPUSYNC		(0x0)		/* sync */
#elif	defined(CONFIG_CLK_800_200)
#	define CONFIG_SYS_IMAPX200_APLL		(0x80001041)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x00014481)
#	define CONFIG_SYS_CPUSYNC		(0x0)		/* async */
#elif	defined(CONFIG_CLK_800_133)
#	define CONFIG_SYS_IMAPX200_APLL		(0x80001041)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x00016661)
#	define CONFIG_SYS_CPUSYNC		(0x0)		/* async */
#elif	defined(CONFIG_CLK_840_210)
#	define CONFIG_SYS_IMAPX200_APLL		(0x80000022) /* real val 0x80000022 */
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x00014481)
#	define CONFIG_SYS_CPUSYNC		(0x0)		/* async */
#elif	defined(CONFIG_CLK_600_200)
#	define CONFIG_SYS_IMAPX200_APLL		(0x80000031)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x000166c2)
#	define CONFIG_SYS_CPUSYNC		(0x2)		/* sync */
#elif	defined(CONFIG_CLK_450_150)
#	define CONFIG_SYS_IMAPX200_APLL		(0x80000024)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x000166c2)
#	define CONFIG_SYS_CPUSYNC		(0x2)		/* sync */
#elif	defined(CONFIG_CLK_936_234)
#	define CONFIG_SYS_IMAPX200_APLL		(0x80000026)
#	define CONFIG_SYS_IMAPX200_DCFG0	(0x00014481)
#	define CONFIG_SYS_CPUSYNC		(0x0)		/* async */
#elif	defined(CONFIG_CLK_MANUAL_MODE)
#	define CONFIG_SYS_APLL_MV1			(0x80000031)
#	define CONFIG_SYS_DCFG_MV1			(0x000166c2)
#	define CONFIG_SYS_APLL_MV2			(0x80001041)
#	define CONFIG_SYS_DCFG_MV2			(0x00014481)
#	define CONFIG_SYS_APLL_MV3			(0x80000041)
#	define CONFIG_SYS_DCFG_MV3			(0x000166c2)
#	define CONFIG_SYS_APLL_MV4			(0x8000002b)
#	define CONFIG_SYS_DCFG_MV4			(0x00014481)
#	define CONFIG_SYS_CPUSYNC			(0x0)		/* sync */
#endif
/* END OF CLK CFG */


/* Drivers configuration: */
/* UART */
#define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }	/* valid baudrates */
#define CONFIG_BAUDRATE			57600

/*   Memory pool 
 *
 *   |-(0x3ffd8000)coda and stack(48k)(0x3ffe4000)-|-command(16k)-|-reserved-|-Tx Buffer(16k)-|-Rx Buffer(16k)-|-record(16k)-|-MMU table(16k)-|
 *       16k now                                  0x3ffe4000
 */
#define CONFIG_SYS_U_BOOT_MMP_CODE_START        CONFIG_SYS_NAND_U_BOOT_DDRTEST_DST  /* MMP load-addr */
#define CONFIG_SYS_U_BOOT_MMP_SIZE              (0x00004000)    /* 16k */

		/* NOR ENV CFG */
#define CONFIG_AU_CLK_MAGIC_OFFS		(0x1007fc00)		/* 512K - 1K */
#define CONFIG_BOARD_MAGIC_OFFS			(0x1007fc10)		/* 512K - 1K + 16*/
#define CONFIG_AU_MEM_MAGIC_OFFS		(0x1007fc1c)		/* 512K - 1K + 28*/

#define CONFIG_AU_CLK_MAGIC			(0xbdbeed00)
#define CONFIG_AU_MEM_MAGIC			(0xbdbeed01)


#if 0 
#define CONFIG_SYS_NAND_SKIP_BAD_DOT_I	1  /* ".i" read skips bad blocks	      */
#define CONFIG_SYS_NAND_WP		1
#define CONFIG_SYS_NAND_YAFFS_WRITE	1  /* support yaffs write		      */
#define CONFIG_SYS_NAND_BBT_2NDPAGE	1  /* bad-block markers in 1st and 2nd pages  */
#endif
/* END OF DRV CFG */


/* U-BOOT command configruration:*/
#include <config_cmd_default.h>
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_REGINFO
#define CONFIG_CMD_LOADS
#define CONFIG_CMD_LOADB
#define CONFIG_CMD_SAVEENV

#ifdef  CONFIG_SYS_DISK_NAND
#define CONFIG_CMD_NAND
#endif

#define CONFIG_CMD_PING
#define CONFIG_CMD_NET
#define CONFIG_NET_MULTI
#define CONFIG_CMD_ELF
#define CONFIG_CMD_FAT
#define CONFIG_CMD_OEM
#define CONFIG_CMD_MMC
/* XXX Do not use the following command XXX */
#undef	CONFIG_CMD_EXT2
#undef	CONFIG_CMD_IMLS

/* values for command mtest(common/cmd_mem.c) */
#define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
#define CONFIG_SYS_MEMTEST_END		CONFIG_RESV_START
/* END OF CMD CFG */

/* Things Disabled in u1 */
#if defined(CONFIG_UBOOT_BASIC)
#	undef CONFIG_ENV_IS_IN_NAND
#	undef CONFIG_OEM_FEATURES
#	undef CONFIG_DRIVER_GMAC
#	undef CONFIG_LCD
#	undef CONFIG_LCD_IMAPX200
#	undef CONFIG_CMD_CACHE
#	undef CONFIG_CMD_REGINFO
#	undef CONFIG_CMD_LOADS
#	undef CONFIG_CMD_LOADB
#	undef CONFIG_CMD_PING
#	undef CONFIG_CMD_NET
#	undef CONFIG_CMD_OEM
#	undef CONFIG_CMD_FAT
#	undef CONFIG_NET_MULTI
#	undef CONFIG_SYS_MALLOC_LEN
#	undef CONFIG_SYS_PHY_UBOOT_BASE
#	undef CONFIG_ENV_SIZE
#	undef CONFIG_NAND_ENV_DST
#	undef CONFIG_SUPPORT_VFAT
#	undef CONFIG_SYS_LONGHELP				/* undef to save memory	      */
#	define CONFIG_ENV_SIZE		0x400	/* Total Size of Environment Sector */
#	define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 16 * 1024)
#	define CONFIG_SYS_PHY_UBOOT_BASE  (CONFIG_SYS_SDRAM_BASE - 140 * 1024) /* -4MB */
#endif

#if (!defined(CONFIG_ENV_IS_IN_SYS_DISK))  // Add for mmc devices enviroment variables
#	define CONFIG_ENV_IS_EMBEDED
#	define CONFIG_ENV_IS_NOWHERE
#endif

#define CONFIG_IUW_MAGIC        0x00497557
#define CONFIG_IUW_MAGIC2       0x55497557
#define CONFIG_IUW_MAGIC3       0x66497557
#define CONFIG_IUW_MAGIC4       0x77497557
#define CONFIG_IUW_CLEARDISK	0xE7E7E7E7
#define CONFIG_HWVER_MASK		0xffffff00
#define UPDATE_PACKAGE_NAME		"system.ius"

#ifdef CONFIG_SPI_FLASH
	#define FLASH_LEN_BOOT					0x4b000
	#define FLASH_LEN_UIMG					0x200000
	#define FLASH_LEN_SYS					0xb80000
	#define FLASH_LEN_ID					0x80000
	
	#define FLASH_START_ADDR_UIMG           0x0			//uImage at offset 0, size 2M
	#define FLASH_START_ADDR_SYS        	0x200000	//system.img at offset 2M, size 11.5M
	#define FLASH_START_ADDR_ID        		0xd80000	//ID at offset 11.5M, size 0.5M
	#define FLASH_START_ADDR_CONFIG			0xE00000	//config at offset 14M, size 2M
#endif

/********************************************************For other type of platforms*********************************************************/
/*__________________________________________________________________________________________________________________________________________
  | ramdisk  | kernel    |		system	    |	userdata      |  cache  | misc  |  reserve | local            
  __________________________________________________________________________________________________________________________________________
  |<---2M--->|<---32m--->|<------256M------>|<---512/1024M--->|<--64M-->|<-16M->|<--128M-->|<--all the res----
  __________________________________________________________________________________________________________________________________________*/
/********From here on every block will in its given partition*******/
/************define each partition capacity (unit Bytes)************/
#define CONFIG_RAMDISK_PART_LEN             (2)             
#define CONFIG_KERNEL_PART_LEN				(32)
#define CONFIG_CACHE_PART_LEN               (64)
#define CONFIG_SYSTEM_PART_LEN              (256)
#define CONFIG_MISC_PART_LEN                (16)

#define CONFIG_BOOT_INFO_LEN				0x1000//info length in misc partition
/******************************end of partition capacity definition******************************/


/* NAND ENV CFG */
#define CONFIG_SYS_DISK_U_BOOT_DDRTEST_DST	(0x3ffd8000)
#define CONFIG_SYS_DISK_U_BOOT_DST		CONFIG_SYS_PHY_UBOOT_BASE	/* NUB load-addr */
#define CONFIG_SYS_DISK_U_BOOT_START		CONFIG_SYS_NAND_U_BOOT_DST	/* NUB start-addr     */
#define CONFIG_SYS_DISK_SPL_OFFS                (0x0000000)		/* 0K */
#define CONFIG_SYS_DISK_U_OFFS			(0x0004000)		/* 16K */
#define CONFIG_SYS_DISK_U0_OFFS			(0x0008000)		/* 32K */

#define CONFIG_SYS_DISK_U_BOOT_SIZE		(512 * 1024)	/* Load 512K into RAM, change it accordingly XXX MUST BE BLOCK ALIGNED XXX*/
#define CONFIG_SYS_DISK_U2_OFFS			(0x0600000)		/* 6M->9M */

#define CONFIG_SYS_DISK_DDRTEST_LEN		(0x00004000)	/* 16K */
#define CONFIG_SYS_DISK_BLOCK_LEN		(0x00080000)	/* 512K */

		/* NOR ENV CFG */
#define CONFIG_AU_CLK_MAGIC_OFFS		(0x1007fc00)		/* 512K - 1K */
#define CONFIG_BOARD_MAGIC_OFFS			(0x1007fc10)		/* 512K - 1K + 16*/
#define CONFIG_AU_MEM_MAGIC_OFFS		(0x1007fc1c)		/* 512K - 1K + 28*/

#define CONFIG_AU_CLK_MAGIC				(0xbdbeed00)
#define CONFIG_AU_MEM_MAGIC				(0xbdbeed01)

#define CONFIG_SYS_DISK_U1_OFFS			(0x0100000)		/* 1M */

#   define CONFIG_CMD_USB
#   define CONFIG_USB_STORAGE
#   ifdef CONFIG_USB_OHCI_NEW
#       define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS      3
#       define CONFIG_SYS_USB_OHCI_REGS_BASE           0x20c80000
#       define CONFIG_SYS_USB_OHCI_SLOT_NAME           "imapx200"
#       define CONFIG_SYS_USB_OHCI_CPU_INIT            1
#   endif
#define CONFIG_USB_EHCI
#define CONFIG_EHCI_DCACHE
#define USB_MAX_WRITE_BLK					4
#define CONFIG_EHCI_RETRY					6

/*****************************************defineb paramters for nand *************************************************/
#ifdef CONFIG_SYS_DISK_NAND
#include "configs/imapx_disk_nand.h"
#endif/******************************************end for nand parameters define****************************************************/

#ifdef CONFIG_SYS_DISK_BLOCK
#include "configs/imapx_disk_block.h"//block disk config
#endif

/*************************config file end******************************/
#endif
